home *** CD-ROM | disk | FTP | other *** search
/ Merciful 4 / Merciful - Disc 4.iso / software / p / psychotoads.dms / psychotoads.adf / a12 < prev    next >
Text File  |  1989-03-31  |  33KB  |  791 lines

  1.  
  2. 10.7.1990
  3.            IMAGE PROUDLY PRESENTS ANOTHER STUNNING RELEASE:   
  4.  
  5.   
  6.          AAAA        MMMM       MMMM     OOOOOOOO        SSSSSS
  7.         AAAAAA       MMMMMM   MMMMMM   OOOO    OOOO    SSSS  SSSS
  8.        AAAAAAAA      MMMMMMMMMMMMMMM  OOOO      OOOO  SSSS     SSS
  9.       AAAA  AAAA     MMMM MMMMM MMMM  OOOO      OOOO   SSSSSSS
  10.      ----    ----    ----   -   ----  ----      ----       ------
  11.     --------------   ----       ----   ----    ----   ----    ----
  12.    AAAA        AAAA  MMMM       MMMM     OOOOOOOO      SSSSSSSSS
  13.  
  14.                          T H E   C R E A T O R 
  15.  
  16.  
  17.           Thanx to Mr.Spaghetto/Accession for the typin' work! 
  18.  
  19.                (Using CygnusEd Professional Release II)
  20.  
  21.  
  22.  
  23.                        Without the great help of
  24.  
  25.                             Stranger/Image
  26.  
  27.    you woudn't have this File/Print in your hands. He delivered me
  28.    the original manual, and promised to spread the Final Version of
  29.                     this file all around the world. 
  30.  
  31.      -- Try the NO.1 BBS in Finland, give a call to IMAGE HQ --
  32.      -- Pirates Cove at: +358-0-802 4389 (HST DS, 121MB, 24H)--
  33.  
  34.  
  35. How was it all done?
  36. ====================
  37.  
  38. AMOS Basic was designed and progrqammed by François Lionet. His clever
  39. ideas and inspirational work have produced what we feel to be by far
  40. the best high-level programming language available on the amiga to
  41. date.
  42.  
  43.  
  44.  
  45. AMOS was developed using the following programs:
  46.  
  47.         DEVPAC II Assembler - HiSoft
  48.         Deluxe Paint III - Electronic Arts
  49.         Pix Mate - Progressive Peripherals & Software
  50.         Cross-Dos - Consultron
  51.         Mini Office Professional Communications - Database Software
  52.  
  53.  
  54. Mandarin Software would like to thank the following people for their
  55. kind help during the development of AMOS:
  56.  
  57. Allistair Brimble, Aaron and Adam Fothergill of Shadow Software, Peter
  58. Hickman, Rico Holmes, Commodre UK for the international keyboard
  59. layouts (an the Amiga), Commodore France for the help with the A1000
  60. problem, 17-Bit Software for samples and demos, Martyn Brown for fonts
  61. and support, Virus Free PD for Soundtracker, Simon Cook for his
  62. constructive comments and bugfinding, Lee, Alex, all other AMOS
  63. developers for their kind help and all of you who have waited patienly
  64. for this software. We hope, like us, you feel it was well worth the
  65. wait.
  66.  
  67. This manual (the original , not this ASCII file) was written using
  68. WriteNow on the Apple Macintosh and paged up with Page Maker.
  69.  
  70.  
  71. Copyright Notice
  72. ================
  73. Amos will enable you to create some very impressive software. It is
  74. very important that you acknowledge AMOS in your programs using a
  75. phrase such as "Written by John Smith using AMOS", and, where possible,
  76. include the AMOS Sprite.
  77.  
  78. If your program is released commercially, the words 
  79. " AMOS © 1990 Mandarin/Jawx " must be included on the back of the
  80. packaging and in the printer instructions.
  81.  
  82.  
  83.  
  84.  
  85.  
  86.                                CONTENTS
  87.                     ------------------------------
  88.  
  89.  
  90. 1: INTRODUCTION
  91.   Dedication ..................................... 2
  92.   Foreword ....................................... 2
  93.  
  94. 2: GETTING STARTED 
  95.   Backup AMOS now ................................ 3
  96.   Installing AMOS on a single floppy system ...... 3
  97.   Installing AMOS on a double floppy system ...... 4
  98.   Installing AMOS onto a hard disc ............... 4
  99.   Loading AMOS Basic ............................. 4
  100.   AMOS tutorial .................................. 5
  101.     Loading a program ............................ 5
  102.     Deleting a program ........................... 6
  103.     Direct mode .................................. 6
  104.     Animation! ................................... 7
  105.     Listing the sprite files ..................... 7
  106.     Loading a sprite file ........................ 7
  107.     Setting the sprite colours ................... 8
  108.     Displaying a sprite .......................... 8
  109.     Animating a sprite ........................... 8
  110.     Moving a sprite .............................. 8
  111.     Music maestro! ............................... 9
  112.   The journey continues .......................... 9
  113.   Hints and tips ................................. 9
  114.  
  115. 3: THE EDITOR
  116.   The menu window ................................ 11
  117.   The information line ........................... 11
  118.   The editor window .............................. 12
  119.   An introduction to direct mode ................. 13
  120.   Loading a program .............................. 14
  121.   The AMOS file selector ......................... 14
  122.   Saving a Basic program ......................... 15
  123.   Scrolling thourgh your files ................... 15
  124.   Changing the current drive ..................... 15
  125.   Changing the directory ......................... 15
  126.   Setting the search path ........................ 15
  127.   Using the file selector ........................ 16
  128.   Editor tutorial ................................ 16
  129.     Scrolling through a listing .................. 16
  130.     Label/Procedure searches ..................... 17
  131.     Folding a procedure definition ............... 18
  132.     Search/Replace ............................... 18
  133.     Finding an item .............................. 18
  134.     Replace ...................................... 18
  135.     Cut and Paste ................................ 19
  136.     Multiple programs and accessories ............ 19
  137.       Multiple programs .......................... 19
  138.       Accessories ................................ 20
  139.   Direct Mode .................................... 21
  140.     Direct mode editor keys ...................... 21
  141.   The menu window ................................ 22
  142.     Default menu ................................. 22
  143.     The system menu .............................. 24
  144.     The blocks menu .............................. 25
  145.     The search menu .............................. 26
  146.   Keyboard macros ................................ 28
  147.   Conserving memory .............................. 30
  148.   Inside accessories ............................. 30
  149.   The HELP accessory ............................. 32
  150.   The editor control keys ........................ 32
  151.     Special keys ................................. 33
  152.     Editing keys ................................. 33
  153.     The cursor arrows ............................ 33
  154.     Program control .............................. 33
  155.     Cut and Paste ................................ 34
  156.     Marks ........................................ 34
  157.     Search/Replace ............................... 34
  158.     Tabs ......................................... 34
  159.  
  160. 4: BASIC PRINCIPLES
  161.   Variables ...................................... 35
  162.   Types of variables ............................. 35
  163.     Integers ..................................... 35
  164.     Real numbers ................................. 36
  165.     String variables ............................. 36
  166.   Giving a variable a value ...................... 36
  167.   Arrays ......................................... 36
  168.   Constants ...................................... 37
  169.   Arithmetic operations .......................... 38
  170.   String operations .............................. 40
  171.   Parameters ..................................... 41
  172.   Line numbers and labels ........................ 41
  173.     Labels ....................................... 41
  174.   Procedures ..................................... 42
  175.     Local and global variables ................... 43
  176.     Parameters and procedures .................... 44
  177.     Shared variables ............................. 45
  178.     Returning values from a procedure ............ 46
  179.     Leaving a procedure .......................... 47
  180.     Local DATA statements ........................ 47
  181.     Hints and tips ............................... 47
  182.   Memory Banks ................................... 48
  183.     Types of memory bank ......................... 48
  184.     Deleting banks ............................... 50
  185.     Bank parameter functions ..................... 50
  186.     Loading and saving banks ..................... 51
  187.   Memory fragmentation ........................... 52
  188.   Finding space for your variables ............... 53
  189.  
  190. 5: STRING FUNCTIONS
  191.   Array operations ............................... 59
  192.  
  193. 6: GRAPHICS
  194.   Colour ......................................... 61
  195.   Line drawing commands .......................... 63
  196.     Line types ................................... 67
  197.   Filled shapes .................................. 67
  198.     Fill types ................................... 68
  199.     Writing styles ............................... 70
  200.     Advanced techniques .......................... 71
  201.  
  202. 7: CONTROL STRUCTURES
  203.   Jumps, Tests etc.................................73
  204.   Error handling ................................. 83
  205.  
  206. 8: TEXT & WINDOWS
  207.   Text attributes ................................ 87
  208.   Cursor functions ............................... 89
  209.   Conversion functions ........................... 91
  210.   Cursor commands ................................ 92
  211.   Text input/output .............................. 96
  212.   Advanced text commands ......................... 98
  213.   Windows ........................................ 99
  214.   Slider bars .................................... 104
  215.   Fonts .......................................... 105
  216.     Graphic text ................................. 105
  217.     Installing new fonts ......................... 109
  218.     Trouble shooting ............................. 109
  219.  
  220. 9: MATHS COMMANDS
  221.   Trigonometric functions ........................ 111
  222.   Standard mathematical functions ................ 114
  223.   Creating random sequences ...................... 115
  224.   Manupulating numbers ........................... 116
  225.  
  226. 10: SCREENS
  227.   The default screen ............................. 119
  228.   Defining a screen .............................. 119
  229.   Special screen modes ........................... 121
  230.   Extra half-bright mode (EHB) ................... 122
  231.   Hold and modigy mode (HAM) ..................... 122
  232.   Loading a screen ............................... 124
  233.   Saving a screen ................................ 124
  234.   Moving a screen ................................ 125
  235.   Screen control commands ........................ 127
  236.   Defining the screen colours .................... 131
  237.   Clearing the screen ............................ 131
  238.   Manupulating the contents of a screen .......... 132
  239.   Scrolling the screen ........................... 133
  240.   Screen switching ............................... 134
  241.   Screen Synchronization ......................... 136
  242.   Special effects ................................ 136
  243.   Changing the copper list ....................... 142
  244.   Hints and tips ................................. 144
  245.  
  246. 11: HARDWARE SPRITES
  247.   The sprite commands ............................ 145
  248.   Computed sprites ............................... 146
  249.   Creating an individual hardware sprite ......... 149
  250.   The sprite palette ............................. 150
  251.   Controlling sprites ............................ 151
  252.   Conversion functions ........................... 153
  253.  
  254. 12: BLITTER OBJECTS
  255.   The bob control commands ....................... 161
  256.  
  257. 13: OBJECT CONTROL
  258.   The mouse pointer .............................. 165
  259.   Reading the joystick ........................... 167
  260.   Deleting collisions ............................ 169
  261.     with a sprite ................................ 169
  262.     with a bob ................................... 170
  263.     between sprites and bobs ..................... 170
  264.     with retangular blocks ....................... 172
  265.   Bob priority ................................... 174
  266.   Miscellaneous commands ......................... 175
  267.  
  268. 14: AMAL
  269.   AMAL principles ................................ 176
  270.   AMAL tutorial .................................. 177
  271.     Moving an object ............................. 177
  272.     Animation .................................... 179
  273.     Simple loops ................................. 180
  274.     Variables and expressions .................... 181
  275.       Internal registers ......................... 181
  276.       External registers ......................... 181
  277.       Special registers .......................... 182
  278.       Operators .................................. 182
  279.     Making decisions ............................. 183
  280.     Generating an attack wave for a game ......... 184
  281.     Recording a complex movement sequence ........ 185
  282.   AMAL commands .................................. 187
  283.   AMAL functions ................................. 191
  284.   Controlling AMAL programs from Basic ........... 193
  285.   AMAL errors .................................... 195
  286.     Error messages ............................... 196
  287.   Animation channels ............................. 197
  288.     Animating a computed sprite .................. 197
  289.     Animating a bob .............................. 197
  290.     Moving a screen .............................. 198
  291.     Hardware scrolling ........................... 198
  292.     Changing the screen size ..................... 199
  293.     Rainbows ..................................... 199
  294.   Advancee techniques ............................ 199
  295.     The Autotest system .......................... 199
  296.     Autotest commands ............................ 200
  297.     Inside Autotest .............................. 201
  298.   Timing considerations .......................... 201
  299.   Beating the 16 object limit .................... 202
  300.   STOS compatible animation commands ............. 202
  301.   
  302. 15: BACKGROUND GRAPHICS
  303.   Icons .......................................... 207
  304.   Screen blocks .................................. 209
  305.  
  306. 16: MENUS 
  307.   Using a menu ................................... 212
  308.   Creating a simple menu ......................... 212
  309.     Setting the title line ....................... 212
  310.     Reading a simple menu ........................ 214
  311.   Advanced menues features ....................... 214
  312.     The menu hierarchy ........................... 215
  313.     Keyboard shortcuts ........................... 219
  314.     Menu control commands ........................ 220
  315.   Embedded menu commands ......................... 222
  316.   Alternative menu styles ........................ 227
  317.   Moveable menus ................................. 229
  318.     Moving a menu within a program ............... 231
  319.     Displaying a menu at the cursor position ..... 232
  320.  
  321. 17: SOUND AND MUSIC
  322.   Simple sound effects ........................... 233
  323.   Sound channels ................................. 234
  324.   Sampled sound .................................. 235
  325.     Creating a sample bank ....................... 237
  326.   Music .......................................... 238
  327.     Playing a note ............................... 240
  328.     Waveforms and envelopes ...................... 241
  329.   Speech ......................................... 246
  330.   Filter effects ................................. 248
  331.  
  332. 18: THE KEYBOARD
  333.   Input/Output ................................... 252
  334.  
  335. 19: OTHER COMMANDS ............................... 254
  336.  
  337. 20: DISC ACCESS 
  338.   Drives and volumes ............................. 260
  339.     Drives ....................................... 260
  340.     Volumes ...................................... 260
  341.     Logical devices .............................. 261
  342.     Cross Dos .................................... 261
  343.   Dir changing ................................... 262
  344.   Common disc operations ......................... 265
  345.   Selecting a file ............................... 266
  346.   Running an AMOS program from disc .............. 266
  347.   Checking for the existence of a file ........... 267
  348.   Disc files ..................................... 268
  349.     Sequential files ............................. 268
  350.     Random access files .......................... 271
  351.   The printer .................................... 274
  352.   External devices ............................... 274
  353.   
  354. 21: SCREEN COMPACTION ............................ 276
  355.  
  356. 22: MACIHNE LEVEL INSTRUCTIONS 
  357.   Number conversion .............................. 279
  358.   Memory manipulation ............................ 279
  359.   Bitwise operations ............................. 282
  360.   Using assembly language ........................ 285
  361.   Accessing the system libraries ................. 287 
  362.   Inside AMOS Basic .............................. 288
  363.  
  364. 23: COMMAND INDEX ................................ 289
  365.  
  366.  
  367.  
  368.  
  369.  
  370.  
  371.  
  372.  
  373.  
  374.                             1: INTRODUCTION                                  1
  375.                      -----------------------------
  376.  
  377.  
  378.  
  379. WELCOME to the exciting world of AMOS - The Creator! As you know, the   
  380. Amiga is a truly amazing computer. For the first time, all that power
  381. is at your fingertips.
  382.  
  383.   In Septemper 1988, Mandarin Software released STOS Basic for ST. This
  384. made history as the first programming language to reach number one in
  385. the ST Gallup games charts! Now STOS has been rewritten from the gound
  386. up to produce AMOS Basic for the Amiga. AMOS Basic includes a vast
  387. range of over 500 commands - many of which are staggeringly powerful.
  388. You can, for instance, bounce a screen, or animate a sprite using just
  389. a single Basic instruction.
  390.  
  391.   AMOS is not just another version of Basic - it's a dedicated games
  392. creation system which comes with its own built-in Animation Language
  393. (AMAL). AMAL programs are executed 50 times a second using a powerful
  394. interrupt system. They can be used to generate anything from the attack
  395. waves in an arcade game, to a silky-smooth hardware scrolling efect. At
  396. the same time, your Basic program can be doing something completely
  397. different!
  398.  
  399.   Whatever you knowledge of programming, AMOS has something to offer
  400. you. If you have newer written a game before, the prospect of creating
  401. your first game may be quite daunting. But do bear in mind that many of
  402. the all-time classics are uncomplicated programs with one or two
  403. original features - just look at Tetris for example. The strength of
  404. your game will depend on the quality of your ideas, and not just your
  405. programming skill. With a little help from AMOS, you'll be able to
  406. produce professional-looking games with just a fraction of the normal
  407. effort. All you really need is imagination.
  408.  
  409.   If you've written a game in AMOS basic, don't keep it to yourself.
  410. Mandarin Software is very keen to publish any program written using
  411. AMOS. Don't worry if your programming is a little rough. If your ideas
  412. are good enough, you could have a real future as a professional games
  413. writer. So please send us your programs. Mandarin would also be
  414. delighted to hear your comments or suggestions for the AMOS system.
  415. Several features in AMOS were taken directly from the ideas which were
  416. sent to us from existing STOS users. Address your correspondence for
  417. the attention of Richard Vanner, Development Manager, Mandarin
  418. Software, Adlington Park, Adlington, Macclesfield SK10 4NP.
  419.  
  420.  
  421.  
  422.  
  423.  
  424.  
  425.  
  426.  
  427.                           2: GETTING STARTED                                 3
  428.                      -----------------------------
  429. AMOS Basic is a truly remarkable package, capable of creating games
  430. which were previously beyond your wildest dreams. All this powerful
  431. features which make the Amiga so irresistible have been incorporated
  432. into this amazing system. With help of AMOS Basic you can develop
  433. programs which would tax the skills of even the most expert assembly
  434. language programmer.
  435.  
  436.   You can for instance, effortlessly animate up to 56 hardware sprites
  437. simultaneously! This is a real achievement, especially when you
  438. consider that the Amiga's hardware only actually provides you with
  439. eight.
  440.  
  441.   If you need even more action on the screen, you can use the Amiga's
  442. blitter chip as well. Blitter objects can be created in any graphics
  443. mode you like, including HAM! The only limit to the number of bobs on
  444. the screen is the amount of available memory.
  445.  
  446.   Any combination of the Amiga's graphics modes can be displayed on the
  447. screen at once. Hardware scrolling isn't jsut possible, it's easy!
  448. There's a built-in SCREEN OFFSET command which allows you to perform
  449. the entire process directly.
  450.  
  451.   In fact, the only hard part of AMOS Basic is knowing where to start!
  452. AMOS supports over 500 Basic commands, and if you're never used Basic
  453. before, you may feel a little overawed by the sheer scale of this
  454. system. When you're in unfamiliar territory, it's always useful to have
  455. a *GUIDE* (Thanks to me!, Mr.Spaghetto ;-) to show you around and point
  456. out some of the notable landmarks. That's the purpose of this chapter.
  457.  
  458.  
  459. Backup AMOS *now* !
  460. ===================
  461. Before continuing however, it's vital that you back up the entire AMOS
  462. Basic package on fresh discs. This will safeguard your copy of AMOS
  463. against accidental mistakes. You'll now be able to play around with the
  464. system as much as you like, without the risk of destroying something
  465. important.
  466.  
  467.   If the worst comes to the worst, we at Mandarin will be happy to
  468. replace your disc for a nominal handing charge. But you'll obviously be
  469. deprived of AMOS Basic while it's being re-duplicated.
  470.  
  471.   The installation procedure varies depending on your precies set-up,
  472. but it can usually be accomplished in a matter of minutes.
  473.  
  474.  
  475. How to backup?
  476. --------------
  477. If you have got this Ascii file into your hands, you propably also 
  478. have some cool copy-prog, for example; X-Copy, D-Copy or other...
  479.  
  480. Place the originals into a safe place and use the fresh copies now.
  481.  
  482.  
  483.  
  484. Loading AMOS Basic                                                          4
  485. ==================
  486. As you might expect, AMOS Basic can be executed in a variety of
  487. different ways. You can, for instance, load AMOS directly from the
  488. Workbench by selecting its icon with the left mouse button. Once you've
  489. entered AMOS in this way, you will be able to flick back and foth to
  490. the Workbench by pressing the Amiga and A keys from the keyboard.
  491.  
  492.   In practive however, the Workbench consumes valuable memory which
  493. would be better used to hold your Basic programs. So if you're a
  494. serious user, you'll propably prefer to boot up AMOS as part of your
  495. normal start-up sequence. This will allow you to achieve the maximum
  496. possible results from the AMOS system.
  497.  
  498. To load AMOS Basic:
  499.  
  500.   *  Turn off your Amiga and wait for about ten secs.
  501.   *  Place a backup of the AMOS program disc (disc 1) into DF0:
  502.   *  Now switch on your Amiga. AMOS will load into memory
  503.      automatically.
  504.   *  Hit a key to remove the information box and thus enter the
  505.      AMOS system.
  506.  
  507.  
  508. AMOS tutorial                                                               5
  509. =============
  510. The first thing you'll see when you enter AMOS Basic is the editor
  511. window. This is extremely easy to use, and if you've a little previous
  512. experience with computers it should be self-explanatory. Feel free to
  513. experiment as much as you like. The AMOS editor is quite intelligent,
  514. and you are unlikely to make any serious mistakes.
  515.  
  516.   Now you've seen the editor window, It's time to explore some of the
  517. features that make AMOS Basic really stand out from the crowd.
  518.  
  519.  
  520. Loading a program
  521. -----------------
  522. We'll start off by showing you how you can load one of the terrific
  523. games from the AMOS data disc. We'll take the Number Leap game as an
  524. example:
  525.  
  526.   * Insert the AMOS_DATA disc into drive DF0:
  527.   * Hold down an Amiga key on the keyboard and press "L". This will 
  528.     bring up a standard file selector on the screen.
  529.   * Click on the disc drice label DF0 to inform AMOS that you have
  530.     changed the disc.
  531.   * At the centre of the file selector there will be a list of 
  532.     programs which can be loaded into AMOS Basic.
  533.   * To select the Number Leap program, just position the mouse pointer
  534.     over the file: 
  535.  
  536.     Number_Leap.AMOS
  537.  
  538.     The file you have chosen will be highlighted accordingly.
  539.     
  540.   * Once you've chosen your file, you can load it by clicking twice
  541.     on the left mouse button. Your game will now be entered from the
  542.     AMOS DATA disc and you will be returned to the original editor
  543.     screen. The contents of this window will be updated to display
  544.     your new program listing.
  545.  
  546.   * You can run this program by selecting the RUN button from the main
  547.     menu area (or hit F1 if you're feeling lazy).
  548.  
  549.   The editor screen will now disappear completely and Number_Leap will
  550. be executed in front of your eyes. After you've played with this game
  551. to your satisfaction, you can exit to AMOS Basic by pressing the CTRL
  552. and C simultaneously.
  553.  
  554.   CTRL+C provides an effective way of breaking into the vast majority
  555. of AMOS programs. It can be disabled from within your program using a
  556. BREAK OFF command for extra security. When the program has been broken
  557. into yu can flick straight back to the editor by pressing the Spacebar
  558. key from the keyboard.
  559.  
  560.  
  561. Deleting a program                                                          6
  562. ------------------
  563. Now that we've finished with the Number Leap program, we can erase it
  564. from memory with the NEW command. You won't find this option on the
  565. main menu, as it's been placed in a separate SYSTEM menu. This can be
  566. brought into view by moving the mouse pointer over the menu window and
  567. holding down the right mouse button.
  568.  
  569. To delete a program:
  570.  
  571.  * Ensure the mouse pointer is over is over the menu area.
  572.  * Hold the Right mouse button down to bring up the SYSTEM menu.
  573.  * While the button is depressed, move the pointer over the NEW option
  574.    and select it with the Left mouse key. Alternatively, you can
  575.    execute this option directly from the keyboard by pressing
  576.    Shift+F9.
  577.  * Type Y to confirm the operation or N to abort.
  578.  * If the current program hasn't been saved, you'll been asked whether 
  579.    to store it onto the disc. If you select the YES option, you'll
  580.    be presented with an AMOS file selector. Otherwise your program
  581.    will be totally erased.
  582.  
  583.  
  584. Direct mode
  585. ===========
  586. We'll now have a quick look at the direct mode. This forms the centre
  587. of the AMOS Basic package and allows you to experiment with your
  588. routines and immediately observe the effects.
  589.  
  590.   It's important to recognize that all the screens, sprites, and music
  591. defined in your program are completely separate from the Editor window.
  592. So no matter what you do in direct mode, you'll be able to return to
  593. your listing with just a single keypress.
  594.  
  595.   * Enter direct mode by pressing ESCape. The editor window will slide
  596.     away and you'll be presented with the main program display.
  597.  
  598. Towards the bottom of this area will be a small screen which can be
  599. used to enter your direct mode commands. Try typing the following line,
  600. pressing Return to "execute".
  601.  
  602.         Print "Your name"
  603.  
  604. Insert your name between the quotes to print your names on the Amiga's
  605. screen. Now press the UP and DOWN arrows from the keyboard to move the
  606. window around the display area. As you can see, the Direct mode window
  607. is totally independent of the main program screen.
  608.  
  609.  
  610. Animation!                                                                  7
  611. ==========
  612. So much for the Direct mode. Let's experiment with some of the AMOS
  613. Basic sprite instructions. Before we can use these commands, we'll need
  614. to load a set of sprite images into memory. Stay in direct mode and
  615. enter the indented lines in bold as you come to them.
  616.  
  617.  
  618. Listing the sprite files
  619. ------------------------
  620. We'll begin by listing all the available sprite files to the Amiga's
  621. screen. 
  622.          * Ensure that the AMOS DATA disc is still in the DF0:
  623.          * Display the disc file directory with the line:
  624.  
  625.         Dir "AMOS_DATA:Sprites/"
  626.  
  627. This will display the sprite files we've supplied on the AMOS data
  628. disc. These files contain all the images which are used in the various
  629. example programs. You can create your own images using the Sprite
  630. definer accessory on the AMOS Program disc.
  631.  
  632.   The sprite definer incorporates a host of powerful drawing features
  633. which make it extremely easy to generate professional-quality animation
  634. sequences in your games.
  635.  
  636.  
  637. Loading a sprite file
  638. ---------------------
  639. We can now load these sprites using the LOAD command. The sprites will
  640. load into a special memory bank so don't except to see any sprites to
  641. appear yet! Let's enter the sprites used by the Number Leap game with
  642. the following command:
  643.  
  644.         Load "AMOS_DATA:Sprites/Frog_Sprites.abk"
  645.  
  646. If you make a mistake, hit F1 to get your previous line. This line can
  647. be then edited using the normal cursor keys and may be re-executed by
  648. pressing Return.
  649.  
  650.   Now let's also load up a music file using a similar load command:
  651.  
  652.         Load "AMOS_DATA_Sprites/Funkey.abk"
  653.  
  654. In order to check whether the sprites and music have been succesfully
  655. loaded into memory, we'll call up the LISTBANK instruction like so:
  656.  
  657.         Listbank
  658.  
  659. This prints a line like:
  660.  
  661.         1 - Sprites       S:$0682B0  L:000040
  662.         3 - Music         S:$043878  L:0081FE
  663.  
  664. Don't worry if the numbers do not correspond as they will change
  665. depending on the available memory. The number of sprites we've just
  666. loaded can be returned directly with the LENGTH function.
  667.  
  668.         Print Length(1)
  669. ( result: 64 )
  670.  
  671.  
  672. Setting the sprite colours                                                  8
  673. --------------------------
  674. Each set of sprite images has its own set of colour values stored on
  675. the disc. Since these can be very different from your current screen
  676. colours, it's useful to be able to GRAB the colours from the sprite
  677. bank and copy them into an existing screen. This can be accomplished
  678. with the GET SPRITE PALETTE command. Enter the line:
  679.  
  680.         Get Sprite Palette
  681.  
  682. All the colours in the main program screen will change immediately, but
  683. the direct mode window will be completely unaffected because it's been
  684. assigned its own separate list of colour values by the AMOS system.
  685.  
  686.  
  687. Displaying a sprite
  688. -------------------
  689. Sprites can be displayed anywhere on the screen using a simple AMOS
  690. Basic sprite command. Here's an example:
  691.  
  692.         Sprite 8,129,50,62
  693.  
  694.  
  695. Animating a sprite
  696. ------------------
  697. Let's animate this object using The "AMos Animation Language". AMAL is
  698. a unique animation system which can be used to move or animate your
  699. objects at incredible speed.
  700.  
  701.   Note that when you're entering the following example programs, it's
  702. essential to type each line *exactly* as its appreas in the listing, as
  703. otherwise you may get an unexpected syntax error.
  704.  
  705.         Sprite 8,129,150,62
  706.         Amal 8,"Anim 0,(62,5)(63,5)(64,5);" : Amal On
  707.  
  708. The program above animates a small duck on the screen. Whilst it's
  709. being manupulated, the sprite cn be moved around using the SPRITE
  710. command. Example:
  711.  
  712.         Sprite 8,300,50,
  713.  
  714.  
  715. Moving a sprite
  716. ---------------
  717. Now for some movement!
  718.  
  719.         Sprite 8,129,150,62 : A$="Anim 0,(62,5)(63,5)(64,5);"
  720.         A$=A$+"Loop: Move 320,0,100; Move -320,0,100; Jump Loop"
  721.         Amal 8,A$ : Amal On
  722.  
  723. This programs animates the duck and moves it back and forth across the
  724. screen, using just three lines!
  725.  
  726.   Although the instructions between the quotes may look like Basic,
  727. they're actually written in AMAL. All AMAL programs are executed 50
  728. times a second and they can be exploited to produce silky smooth
  729. animation effects independently of your Basic programs.
  730.  
  731.   Just to prove how amazing AMAL really is, hit ESC to jump back to the
  732. Basic editor. After a few moments, return to direct mode. Your sprite
  733. will still be bouncing accross the screen as if nothing had happened!
  734.  
  735.  
  736. Music maestro!                                                              9
  737. --------------
  738. For a finale, let's play the music! Ensure you're still in direct mode,
  739. turn up the volume on your monitor and start the music running the
  740. MUSIC command like so:
  741.  
  742.         Music 1
  743.  
  744. By the way, you can stop the music with the command:
  745.  
  746.         Music Off
  747.  
  748.  
  749. The joyrney continues
  750. =====================
  751. Hopefully, you'll now have a pretty good idea of what AMOS Basic can
  752. achieve. But so fat we've only looked at a tiny fraction of AMOS
  753. Basic's power. As you experiment with the AMOS package, you'll quickly
  754. discover a whole new world, full of exciting possibilities.
  755.  
  756.   AMOS Basic can't, of course, transform you into an expert games
  757. programmer overnight. Like any programming language, it does take a
  758. little time to familiarise yourself with the entire repertoire of
  759. commands. We'll therefore end this section with a few guidelines to
  760. help you on your way.
  761.  
  762.  
  763. Hints and tips
  764. --------------
  765.   * The best way to learn about AMOS is to create small programs to
  766.     animate sprites, scroll screens or generate hi-score tables. Once
  767. you've created a little confidence, you'll then be able to incorporate
  768. these routines into an actual game.
  769.  
  770.   * Don't be overawed by the sheer size of the AMOS Basic language. In 
  771.     practive, you can achieve terrific effects with only a tiny
  772. fraction of the 500 or so commands available from AMOS. Start by
  773. mastering just a couple of instructions such as SPRITE and BOB, and
  774. then work slowly through the various sections. As you progress, you'll
  775. gradually build-up a detailed knowledge of the AMOS system.
  776.  
  777.   * Although we've attempted to make this package as easy to use as
  778.     possible, a thorough groundging of the general principles of Basic
  779. programming is invaluable. If you're new to Basic, you may find it
  780. helpful to purchase an introductory text such as "Alcock's Illustrating
  781. Basic. (Cambridge University Press.)
  782.  
  783.   * Plan your games carefully on paper. It's amazing how many problems      10
  784.     can be completely avoided at the early design stages. Never attempt
  785. to tackle really large projects without prior preparation. It's the
  786. easiest way to get permanently lost.
  787.  
  788.   * When you're writing a game, try to concentrate on the quality of
  789.     the game play rather than the special effects. The graphics and
  790. music can always be added later if the idea's are good enough.
  791.